package rsj.sql.product;

import com.rlyy.aibase.utils.base.TableNode;
import rsj.annotation.DynamicSelect;
import rsj.api.org.entity.UsageReportParam;
import rsj.service.export.product.offline.ProductOfflineCurrentTable;
import rsj.service.export.product.produce.ProductProduceCurrentTable;
import rsj.service.export.product.test.ProductTestCurrentTable;

/**
 * 产品-dao
 *
 * @author yuanqinglong
 * @date 2021/05/26
 * @since 2021/5/26 11:58
 */
public interface ProductCurrentDao {


    /**
     * 查询线下
     *
     * @param query 查询
     * @return {@link TableNode}
     */
    @DynamicSelect(type = ProductOfflineCurrentTable.class, method = "generateQueryStatement")
    TableNode productOfflineCurrent(UsageReportParam query);

    /**
     * 查询生产
     *
     * @param query 查询
     * @return {@link TableNode}
     */
    @DynamicSelect(type = ProductProduceCurrentTable.class, method = "generateQueryStatement")
    TableNode productProduceCurrent(UsageReportParam query);

    /**
     * 查询测试
     *
     * @param query 查询
     * @return {@link TableNode}
     */
    @DynamicSelect(type = ProductTestCurrentTable.class, method = "generateQueryStatement")
    TableNode productTestCurrent(UsageReportParam query);

}
